﻿using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SAKS.ViewModels
{
    public class ProjectNameId
    {
        public virtual Guid Id { get; set; }
        [DisplayName("项目名称")]
        [Required(ErrorMessage = "项目名称必须填写")]
        public virtual string Name { get; set; }
    }

    public class ProjectListModel : ProjectNameId
    {
        [DisplayName("领域")]
        public virtual string SpecializedField { get; set; }
        [DisplayName("负责人")]
        public virtual string ResponsibleOfficer { get; set; }
        [DisplayName("总设计师")]
        public virtual string PrimaryDesigner { get; set; }
        [DisplayName("创建时间")]
        public virtual string CreatedDate { get; set; }
    }



    public class ProjectSingleBase : ProjectNameId
    {
        [DisplayName("项目序号")]
        [Required(ErrorMessage = "项目编号必须填写")]
        public virtual int SerialNumber { get; set; }
        [DisplayName("项目级别")]
        [Required(ErrorMessage = "项目级别必须填写")]
        public virtual string ProjectLevel { get; set; }
        [DisplayName("项目领域")]
        [Required(ErrorMessage = "项目领域必须填写")]
        public virtual string SpecializedField { get; set; }
        [DisplayName("起始时间")]
        [Required(ErrorMessage = "起始时间必须填写")]
        public virtual string StartDate { get; set; }
        [DisplayName("结束时间")]
        public virtual string EndDate { get; set; }
        [DisplayName("项目负责人")]
        [Required(ErrorMessage = "项目负责人必须填写")]
        public virtual string ResponsibleOfficer { get; set; }
        [DisplayName("总设计师")]
        [Required(ErrorMessage = "总设计师必须填写")]
        public virtual string PrimaryDesigner { get; set; }
        [DisplayName("摘要")]
        public virtual string Summary { get; set; }
    }

    public class ProjectCreateUpdateModel : ProjectSingleBase
    {
        [DisplayName("承担单位（以逗号隔开）")]
        public virtual string Organizations { get; set; }
        [DisplayName("项目人员（以逗号隔开）")]
        public virtual string Members { get; set; }

        public virtual int Version { get; set; }
    }

    public class ProjectDetailsModel : ProjectSingleBase
    {
        [DisplayName("创建日期")]
        public string CreateDate { get; set; }
        public string[] Organizations { get; set; }
        public string[] Members { get; set; }
        public string State { get; set; }
    }



}
